package com.itheima.mapper;

import com.itheima.pojo.CheckItem;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 检查项Mapper接口
 * 
 * @author itcast
 * @date 2025-03-22
 */
public interface CheckItemMapper 
{
    /**
     * 查询检查项
     * 
     * @param id 检查项主键
     * @return 检查项
     */
    public CheckItem selectCheckItemById(Integer id);

    /**
     * 查询检查项列表
     * 
     * @param checkItem 检查项
     * @return 检查项集合
     */
    public List<CheckItem> selectCheckItemList(CheckItem checkItem);

    /**
     * 新增检查项
     * 
     * @param checkItem 检查项
     * @return 结果
     */
    public int insertCheckItem(CheckItem checkItem);

    /**
     * 修改检查项
     * 
     * @param checkItem 检查项
     * @return 结果
     */
    public int updateCheckItem(CheckItem checkItem);

    /**
     * 删除检查项
     * 
     * @param id 检查项主键
     * @return 结果
     */
    public int deleteCheckItemById(Integer id);

    /**
     * 批量删除检查项
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCheckItemByIds(Integer[] ids);

    /**
     * 查询所有检查项
     * @return
     */
    @Select("select * from check_item")
    List<CheckItem> selectCheckItemAll();

    /**
     * 根据检查组id查询检查项id
     * @param checkgroupId
     * @return
     */
    @Select("select ci.id from check_item ci,check_group cg where cg.id = ci.group_id and cg.id = #{checkgroupId}")
    List<Integer> findCheckItemIdsByCheckGroupId(Integer checkgroupId);
}
